All image rendering devices impose distortions on the color characteristics of an image. Thus, the matching of color appearance between images and documents transferred among any combination of digital image rendering devices such as monitors, scanners, and printers requires the imposition of specialized color image processing knowledgeable about the color rendering characteristics of the different imaging devices. Generalized open systems for applying such color processing are known as Color Management Systems (CMS) and are proliferating in the arena of desktop computing. These systems depend upon standard data structures known as color profiles (hereinafter "profiles") to determine how to process image pixels. Due to a large number of factors, a CMS in combination with available profiles may deliver colors not all of which a user would consider optimal for a color appearance match. In the current CMS arena when a combination of profiles are found to produce very acceptable matches for most colors but have a limited number of known deficits, there are practically no useful tools available to even the most knowledgeable user and none at all to the naive user for making fine adjustments to the system results.
Color Management Systems are necessary because different imaging devices have different color capabilities, describe color characteristics in different terms, and operate in different color spaces. For example, a color display monitor in a computer system may operate in RGB color space by creating and describing colors in terms of red, green and blue (RGB) values. The RGB values associated with particular colors for the display monitor are device-dependent in that the RGB values associated with specific colors are particular for the given monitor. Since the RGB values are device-dependent, colors displayed on different monitors will probably not be visually identical even for the same RGB input values.
Most printers create and describe colors in device-dependent terms differing from those used by monitors. Printers typically use cyan, magenta, yellow and black (CMYK) values to describe colors, and are said to operate in the CMYK color space. Since the CMYK values are device-dependent, colors printed on any given printer will probably not match colors printed on a different printer for the same CMYK values.
Further complicating color matching between devices is the fact that different devices have different color capabilities. Every rendering device, such as a printer or monitor, has a limited range of colors, i.e. gamut, that it can reproduce. Those skilled in the art will recognize that color display monitors tend to be able to produce a wider range of lighter colors whereas color printers tend to be able to produce a wider range of darker colors. Consequently, the gamut for a color display monitor is different from the gamut for a color printer. As a result, some colors displayed on monitors cannot be reproduced on color printers and vice versa.
Parameterized color transform models are used by a CMS to translate between devices with the goal of maintaining color appearance. For example, suppose that the user displays an image on a monitor. If he prints the image without any color correction, the color appearance of the printed image will differ significantly from that of the original. Using a color transformation model with parameters which take into account the idiosyncratic color rendering characteristics of the user's monitor and the user's printer, a CMS will ideally reduce the color appearance difference to a perceptively acceptable level. The data from which the CMS derives the parameters to the color transform model are stored in the color profiles for the two devices. For the purposes of this example, where the image displayed on the monitor is to be matched by a printed sample, the monitor is considered the source device and its associated profile the source profile; whereas, the printer is considered the destination device and its associated profile the destination profile.
The International Color Consortium (ICC) has in recent years described a standard file format for color profiles. The draft ICC Profile Format Specification, Version 3.3, Nov. 11, 1996 is incorporated herein in its entirety for supplemental background information which is non-essential but helpful in appreciating the applications of the present invention. The ICC defines five major classes of color profile: device profile, device-link profile, color space conversion profile, abstract profile and named color profile. Device profiles are further broken down into subclasses of input profiles, output profiles and display profiles. The ICC profile is a tagged file structure which includes three main sections: a header, a tag table and tagged element data. A CMS determines from the profile header general device, file and profile information such as the profile class. Among the most essential fields found in a device profile's header is the profile connection space (PCS) field which indicates which device-independent units are used within tags which are utilized by the CMS when deriving parameters for its color transform model. The tag table acts as a table of contents for the tag element data which is where the profile tags are stored. Tags fall into the categories of required, optional and private. Each profile class has a different set of required tags. The intent of requiring tags for specific profile classes is to ensure a common base level of functionality which all CMS's can perform using conforming profiles. Profiles may also contain optional tags defined by the ICC or private tags defined by others. These additional tags may be ignored by the CMS or a knowledgeable CMS can take advantage of them.
The two most relevant ICC profile classifications with respect to the present invention are the device profile and the device-link profile. A device profile's tags describe the relationship between device digits and the device-independent units of the profile's PCS. For output device profiles and CMYK input device profiles the AtoB tags are required by the ICC to describe the relationship from device digit to PCS and the BtoA tags are required for describing the inverse relationship. For other input device profiles and all display device profiles the required tags for describing color characteristics are the TRC and Colorant tags. A device-link profile contains tags which describe the relationship between the digits for a first device and the digits of a second device. The AtoB0 tag describes the relationship between source digits and destination digits as required by the ICC for device-link profiles.
In an end-user's color managed environment, device profiles are usually only exercised in pairs where one is designated as source and the other as destination. This architecture allows the CMS to process images which originate at the source device with the goal of matching the original color appearance when rendered at the destination device. Device-link profiles are used alone and already have been conditioned to describe the end-to-end relationship between a specific source and a specific destination device. An advantage which device profiles have over device-link profiles is that they can be used in series with any other device profile allowing the CMS complete flexibility to manage any configuration of profiled source and destination devices. Device-link profiles while more limited in their application are associated with computational efficiencies and quality improvements which make them more desirable to use in those CMS situations where source and destination devices are fixed and known at profile making time, such as for a proofing system.
The original profile creator, hereafter the "craftsman," may be associated with the device manufacturer, or with a third party service bureau or may be the end-user himself. Any number of commercially available software packages or the craftsman's own custom software may be used to take raw color measurements from the device(s) being characterized as well as other user input, and based upon these data populate the appropriate tags and fields in the color profile. One example of such a profile making environment is described in U.S. patent application Ser. No. 08/844,380 filed Apr. 18, 1997 by Meir et al. and is incorporated by reference in its entirety to provide supplemental background information which is not essential but is helpful in appreciating the applications of the present invention.
Specialized color measurement instruments used within these profile making environments typically include spectrophotometers or calorimeters. Spectrophotometers used for these purposes will measure from a rendered color the spectrum of energy reflected across the range of visible wavelengths. Measurements of spectra are relatively memory intensive and are usually considered extraneous. For profile making purposes spectrophotometers are usually configured to report in colorimetric units which involves convolution of measured spectra with the spectrum of a light source and then convolving with the color matching functions followed by integration and depending on the specific units needed, further mathematical manipulation. Colorimeters utilize filtered detectors to perform an analog equivalent to the previously described convolution and integration. Spectrophotometers configured to report in colorimetric units, calorimeters, and even the human eye which like the calorimeter has three filtered detectors, will not be able to distinguish between all colors which have unique spectra. Confusion of colors with different spectra, known as metamerism, will be present when an instrument or the eye reports similar response from these colors due to the loss of information which is a by-product of the integration process.
After a profile is created, it is customary for its craftsman to test its quality performance. Unless the craftsman is the end-user or is delivering the profile into a highly pre-specified environment, it is unlikely that he has exactly the devices which will be used in concert with the profile, nor does he know exactly which CMS will be utilized. In the case of a device profile it is never clear exactly which other profiles will eventually be used to complete a source/destination pairing. Initial testing of a profile for system quality performance thus becomes an inexact science. The end-user when exercising the profile in a specific system configuration may encounter different results from those the craftsman encountered during his testing phase.
The original craftsman and the end-user will sometimes encounter a situation where a CMS exercising a particular device-link profile or pair of device profiles will produce an image where the majority of colors is presented with the expected quality of color matching, but a few areas of the image will be reproduced non-optimally according to the user's opinion. There are many ways in which such a problem can be introduced, a few examples include: mismatching gamuts between source and destination imaging devices, noise in characterization data, undersampling of imaging device characteristics, imaging device drift, imaging device miscalibration, color measurement instrument failure, logical mistakes in the profile making software, logical mismatches between CMS assumptions and profile making software assumptions, and physical appearance differences between source and destination media. To fix the problem users have very few tools. The more sophisticated the user is in terms of profile technology and color science the greater his capability to determine why the mismatch is occurring and perhaps by use of his low level skills manipulate data or directly edit profile tags to overcome the problem. Due to the immense number of sample points depended upon by the profile making software, the complexity of the software's algorithms and the size of the profile tags which contain the information, fixing such a localized problem through low level means can at times be extremely difficult. Users sometimes have at their disposal the means to edit images prior to presenting them to the CMS software, anticipating the problems introduced by the profiles and overcompensating to get acceptable results after applying the profile. This extra image editing step is cumbersome, expensive and a violation of the reason one has invested in a CMS in the first place as it is causing the user to become an expert color manager. CMS users would benefit from friendly, efficient tools which enable localized color corrections to a device-link profile or a to a series of device profiles. For this application, local color corrections means local with respect to a color map.